package com.lhm.mapper;


import com.lhm.entity.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


// 书本
@Mapper
public interface BookMapper {
    //根据id查找
    public Book findById(int id);
    //查询全部
    public List<Book> findAll();
    //添加
    public void addBook(Book book);
    //修改
    public void update(Book book);
    //行数
    public  List<Book> findPage(@Param("start") int n1, @Param("num") int n2, @Param("typeid") int n3);
    //页数
    public int getCount(int n);
    //模糊查询书名  出版社  作者
    public List<Book> findByName(@Param("name") String name, @Param("start") int n1, @Param("num") int n2);
    //模糊查询总数量
    public  int getCountByName(@Param("name") String name);
    // 获得点赞前 5 的商品
    List<Book> findRate5();
    //获得点销量 5 的商品
    public List<Book> findSale5();
//    获得点加到购物车前 5 的商品
    public List<Book> findFav5();
    //行数  点赞从高到低排序
    public  List<Book> findPageRate(@Param("start") int n1, @Param("num") int n2, @Param("typeid") int n3);
    //行数  分页查找书本信息并按照销量从高到低排序
    public List<Book> findPageSale(@Param("start") int n1, @Param("num") int n2, @Param("typeid") int n3);
    //行数  分页查找书本信息并按照购物车从高到低
   public List<Book> findPageFav(@Param("start") int n1, @Param("num") int n2, @Param("typeid") int n3);

    void addFavnum(@Param("id") int id, @Param("num") int num);


}
